# Copyright (c) 2018 Presto Labs Pte. Ltd.
# Author: jhkim

from coin.exchange.okex_futures.kr_rest.currency import OkexCurrency
from coin.flow.simple_queue import SimpleQueue
from coin.exchange.okex.kr_rest.product import OkexProduct
from coin.strategy.hk_lm.lm_agg_strategy import LmAggStrategy
from coin.strategy.mm.subscription import SubscriptionRequest
from coin.strategy.mm.okex.order_subsystem import (OkexOrderSubsystem, OkexOrderSubsystemV3)


class OkexAggStrategy(LmAggStrategy):
  CurrencyType = OkexCurrency
  ProductType = OkexProduct
  LiveEnvironmentType = OkexOrderSubsystem
  OGName = SubscriptionRequest('Spot', 'Okex', None)


class OkexAggStrategyV3(LmAggStrategy):
  CurrencyType = OkexCurrency
  ProductType = OkexProduct
  LiveEnvironmentType = OkexOrderSubsystemV3
  OGName = SubscriptionRequest('Spot', 'Okex', 'v3')
